Frontend Forever App
We have a mobile app for you to download and use. And you can unlock many features in the app.
Get it now
Intall Later
Run
HTML
CSS
Javascript
Output
Document
Sphere
Packing
Toggle gravity
Random colors
@charset "UTF-8"; @import url(https://fonts.googleapis.com/css?family=Nunito+Sans:300,400,600,700,800); *, :after, :before { box-sizing: border-box; padding: 0; margin: 0; } body, html, #app { margin: 0; width: 100%; height: 100%; background: radial-gradient(circle, rgba(255,255,255,1) 0%, rgba(0,0,0,0.5) 200%); } #app { position: relative; height: 100%; font-family: "Montserrat", serif; } .hero { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; } h1, h2 { margin: 0; padding: 0; color: black; text-transform: uppercase; text-shadow: 0 0 20px rgba(255, 255, 255, 1); line-height: 100%; user-select: none; } h1 { position: relative; z-index: 2; font-size: 100px; font-weight: 700; } h2 { font-size: 80px; font-weight: 500; } #webgl-canvas { position: fixed; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; z-index: 1; } .buttons { position: fixed; width: 100%; bottom: 15px; z-index: 2; display: flex; justify-content: center; align-items: center; gap: 15px; } button { font-family: "Montserrat", serif; background: rgba(255, 255, 255, 0.5); border-radius: 5px; border: 1px solid grey; padding: 4px 8px; }
console.log("Event Fired") import { Spheres1Background } from 'https://cdn.jsdelivr.net/npm/threejs-components@0.0.5/build/backgrounds/spheres1.cdn.min.js' const bg = Spheres1Background(document.getElementById('webgl-canvas'), { count: 300, minSize: 0.3, maxSize: 1, gravity: 0.5 }) // document.body.addEventListener('click', () => { // bg.spheres.setColors([0xffffff * Math.random(), 0xffffff * Math.random(), 0xffffff * Math.random()]) // }) //document.body.addEventListener('keydown', (ev) => { // bg.spheres.config.gravity = bg.spheres.config.gravity === 0 ? 1 : 0 //}) document.getElementById('gravity-btn').addEventListener('click', () => { bg.spheres.config.gravity = bg.spheres.config.gravity === 0 ? 1 : 0 }) document.getElementById('colors-btn').addEventListener('click', () => { bg.spheres.setColors([0xffffff * Math.random(), 0xffffff * Math.random(), 0xffffff * Math.random()]) })